home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 1 (Walnut Creek)
/
Aminet - June 1993 [Walnut Creek].iso
/
aminet
/
util
/
shell
/
axsh_1_3_demo.lha
/
AXshAdmManual
next >
Wrap
Text File
|
1993-03-17
|
82KB
|
2,253 lines
*****************************************************************************
. . . ___ . _
/|\ / _ |_ _ _ -+- _ . . | _ ._ _ . _ ._ /| ' )
/-| X (_`| | (_`| |(_` | |_)|V| | \ /|_)| `(_`|/ \| | | <
/ |/ \._)| | ._)|_|._) |_|_,||| _|_ V |_,| ._)|\_/| | |o._)
._|
15-Mar-93 © Digital Design 1991-1993
*****************************************************************************
S y s t e m a d m i n i s t r a t o r ' s
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
r e f e r e n c e m a n u a l
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.0 Getting started
1.1 Installing AXsh system
1.2 Using AXsh with other software
1.3 Adding and removing users
1.4 Security
1.5 Helping users
1.6 Manuals
1.7 Installing new software
1.8 Administrator's daily duties
1.9 Short introduction to the programs
1.10 Problems and answers, tips and tricks
2.0 Configuring and customizing AXsh
2.1 /etc/rc
2.2 /etc/rc.server
2.3 /etc/rc.ffe
2.4 /etc/rc.news
2.5 /etc/rc.mail
2.6 /etc/crontab
2.7 /etc/issue and /etc/motd
2.8 /etc/forbiddenvars
2.9 /etc/globallogin
2.10 /etc/nologin
2.11 /etc/adm/ directory
2.12 /etc/xprotos.tab
2.13 /etc/Questionnaire
2.14 /etc/adm/Answers
2.15 /etc/exampleuser/ directory
2.16 /etc/register.*
3.0 Networking under AXsh
3.1 Network installation
3.2 Creating a node
3.3 Creating a new network
3.4 Connecting to Internet
3.5 UUCP
3.6 AXnet mail
3.7 AXnet news
4.0 Registering stuff
4.1 Registering form
4.2 Bug report form
4.3 New application report form
4.4 Author
4.5 Copyright notices
*****************************************************************************
1.0 Getting started
AXsh is a shell based local communication software, which allows remote users
to connect to your machine. AXsh can also be run under UUCP, but you need to
do some changes to some of the configuration files. AXsh consists of three
main parts: the AXsh shell software, AX-sysghost, which holds information
about users and AX-server, which takes incoming calls, starts AXsh etc. AXsh
supports multiple users, multiple lines and different user levels. You can
define allowed commands and directories for each user level. Command
arguments can also be restricted to home directory or to allowed directories.
AXsh is a SHAREWARE product and the REGISTRATION fee is about US$ 30, 150
FIM. We'll accept any other currency too, because that is more convinient
for everybody, but US$ and FIM are preferred. The cheapest way to send the
money is in cash in a letter. If you don't plan to register, but have an
Internet mail address, you should still send some mail so I can keep you upto
date about updates to the demo distribution. We are developing the system
constantly and all comments and bug reports are welcomed. (See the addresses
in the end of this document.)
Before you start to install, you should check that your system is cabable of
running AXsh. Here is a list of things you should have:
- Amiga 500/600/1000/2000/2500/3000/3000T/4000
- at least 0.5 MB of memory (>1M recommended)
- at least 5 MB of hard disk space for AXsh in a public system
- Hayes standard modem connected to Amiga via RS-232
You also need:
- KS2.0 OR arp.library v39 or newer
IMPORTANT! 1.3 will be the last 1.3-compatible version. Next version will
REQUIRE ks2.0 or later.
To use network or file transfer:
- xprzmodem.library 2.52 or newer
- any other xprotocol library
The disk space usage can be controlled by yourself. If you don't have 5 megs
of disk space for AXsh, don't take Internet news or hundreds of users.
Frankly, it's up to you. Kickstart 2.0 is recommended, but not currently
needed.
If you need to know about AXsh shell itself or about other programs, just
read the appropriate man-files. This document discusses only the installation
and configuration-related topics.
This section is kind of abstract stuff, so if you're familiar with AmigaDOS
and know how to unpack AXsh to the installation diskette and how to use
WorkBench, skip this first section and concentrate on the second part of this
manual.
In this manual some of the paths are defined this way: /etc/adm/ . "/"
means root directory, in this case the AXsh: assign. /etc/adm means
AXsh:etc/adm. In AXsh they both work just fine.
*****************************************************************************
1.1 Installing AXsh system
For automatic installation you need a formatted disk. You should use a FFS
format floppy, otherwise everything wont fit into the disk. You cannot use a
harddisk partition, it has to be a floppy! If you don't have possibilities
to use an FFS format disk or you want to use a seperate partition for AXsh,
you can install the system by hand.
format drive df0: name AXshPack NOICONS FFS
When you have a disk ready, unpack the AXsh packet to it:
lha x InstallDisk df0:
You can do the above also automatically with the MakeInstallDisk ICONX script.
Now you can just double click the disk icon and select an appropriate install
script for your system. The installer will ask you to select the right
drawer and files to install.
*****************************************************************************
1.1.2 Installing by hand
Create a new directory or a partition for AXsh and make an assign to point to
that directory:
assign AXsh: <AXsh directory>
e.g. : assign AXsh: DH0:Communications/AXsh/
If you prefer a partition for AXsh, it's reasonable to label it `AXsh':
relabel <partition name> AXsh
e.g. : relabel DH4: AXsh
And now when you write the following command line:
cd AXsh:
..you should be in your local AXsh directory. If any system requesters
appear, you've done something wrong above. At this point, unpack the packet
to the directory/disk:
lha x InstallDisk AXsh:
This will take a while to be executed. It unpacks the AXsh packet to your
(hopefully) hard disk. After the shell prompt appears again, you should have
all files unpacked. You should consult chapter 2.0 for customizing configuration
files to fully use AXsh cababilities. Now, try this from any CLI or shell:
path AXsh:bin/
AXsh -con
AXsh version string and login prompt should appear. Give login name root and
password root. Now you should notice if you have succeeded in the
installation process. Use "exit" to terminate an AXsh session. You can get
more information about the AXsh shell itself from its own manual :
/man/AXsh.man.
If you want to use AXsh remotely, you have to make AXAUX: available:
mount AXAUX: from AXsh:etc/Mountlist.AXsh
Now AXAUX: handler is added to the system and it is ready to handle the
builtin serial line. If you want to use a different serial device, refer to
section 2.2 about /etc/rc.server and the manual pages for ax-server and
axaux-handler. You can now start the AX-server with "AX-server".
If you do not start AX-sysghost, the first AXsh run will start it
automatically. Next thing to do is to make the mounting procedure automatic.
If you're running AmigaOS 2.0 or higher, do the following:
AmigaOS 2.0 installation:
Edit s:user-startup using your favourite text editor and write:
assign AXsh: <AXsh directory>
mount AXAUX: from AXsh:etc/Mountlist.AXsh
After that, save the user-startup and open the AXsh installation diskette's
Storage directory from Workbench. You'll see icons with an A on the top left
corner. Move these icons to your boot disc's WBStartup directory. Now, when
system opens Workbench, it automatically launches these programs. If you're
not using Workbench, follow the AmigaOS 1.3 installation steps, but edit
s:user-startup instead of s:startup-sequence.
AmigaOS 2.1 installation:
In addition to the AmigaOS 2.0 installation steps move the AXAUX handler from
the AXsh installation diskette's Storage/DOSDrivers directory to the system
Devs/DOSDrivers directory and leave out the mount command from the
user-startup. You should also copy the locale system files to the Locale:
directory as well as the catalog files, if you want to use other languages
than the default English.
copy AXsh:storage/Locale/catalogs locale:catalogs all
Currently AXsh (the shell itself), Mail and Ami (private mail programs),
Rn (news reader) and FFE (file frontend) all support WB2.1 locale.library.
Included languages are:
English Default (Included in the programs)
suomi (Finnish) by Pasi Ojala po87553@cs.tut.fi
français (French) by Cedric Beust Cedric.Beust@sophia.inria.fr
dansk (Danish) by Soeren Berg Hansen siera@imada.ou.dk
español (Spanish) by Sebastian Delmont sdelmont@dino.conicit.ve
svenska (Swedish) by Morgan Ericsson morgan@krynn.augs.se
Thousand thanks and happy and productive future to all translators. If you
are willing to do translation to your own language, just contact me.
AmigaOS 1.3 installation:
Edit s:startup-sequence using your favourite text editor and write before the
endcli >nil: command:
assign AXsh: <AXsh directory>
execute AXsh:etc/Startupadd.AXsh
And that's it. Save the modified startup-sequence and try booting the
machine. You may check the Startupadd.AXsh file to see what is done there.
*****************************************************************************
1.2 Using AXsh with other software
AXsh can be used as a BBS software by itself, but it can also be used with
other software packages. AXsh can be setup to run under DLG and other
'traditional' bulletin board systems that support the door-concept and
you can use TrapDoor and UUCP Getty instead of AX-server, if you also handle
Fidonet or UUCP traffic.
Here is an example of TrapDoor settings:
BBSmode Spawn
BBSCommand "execute AXsh:etc/remote-startup"
BBSInOut "AXAUX:serial.device/0/shared/speed%B"
Serialname serial.device
Serialunit 0
Baud 19200
We have also included instructions how to use AXsh under UUCP, but you have
to go through all the configuration files and change them according to
the instructions.
*****************************************************************************
1.3 Adding and removing users
Administrator's most important task in administrating is keeping track of
users. In AXsh this part is made fairly easy. Users can register themselves
by giving a login name 'new' (this feature can be disabled if needed, see
/etc/rc), which invokes a program called AXsh:bin/register. It asks for the
desired login name, user's real name, password and the administrator can ask
them what ever he or she wants depending of the contents of
AXsh:etc/questionnaire. You can also edit the /etc/register.*-files to your
preference or you can replace the register commands with a program that just
takes the information about the new user and you create the account after
verifying the user. Registering features and questionnaire file are explained
more carefully in chapter 2.10.
The default register program creates new accounts automatically, so you don't
have to do that either. The only thing you must do is to check users'
information. All the answers to the questions are collected into one file
called AXsh:etc/adm/answers. The filename can also be changed by modifying
AXsh:etc/rc.
Users can also be added manually by using passwd. However, you should notice
that passwd does NOT create home directories nor does it copy any default
files, it simply adds the login name to the system. Because of this, it
is adviced that you use register to add new users, even if you do that
locally. On the other hand, using passwd directly is the only way to make
two login names use the same home directory, if that kind of feature is
needed.
Removing users needs some more effort. You have to know the user's login
name and you have to be logged in as a superuser. Usually login name 'root'
has this access level. If you are using an AmigaShell, you can use the
supplied 'login' command to set the superuser bit (login 32768). When you
decide to remove a user, you must be sure, that it is what you really want to
do, because there is no way to get user's account back after removing it.
passwd -r <user's login name>
This line removes user's account from AXsh:etc/passwd file. This WILL NOT
delete the user's home directory or any other files belonging to the user
(like the system mailbox), so you have to do that yourself. Depending
on the configuration you go to system's home directory (usually AXsh:home/)
and type the following line:
delete <users login name> all quiet
Delete is a standard AmigaDOS command. For further information consult your
AmigaDOS user's manual.
With passwd you can also change user quotas and accesslevels. Passwd -l will
list all users in /etc/passwd-file and passwd -ll will list available user
level names. Passwd in also used to change real names and passwords (as the
command name implies :-).
*****************************************************************************
1.4 Security
Security is a top priority thing on an AXsh system. It's up to you how much
privileges you give to a user. It's not very wise to give executing
privileges to 'format' for access level 'normal'. If you run a closed
system with just few known users, it's not that important as long as you
don't give executing privileges for intuition based programs.
You also control which directories the users have access to. However, if
you give the user any of the superuser levels, he has access everywhere.
Still, only the commands defined in the rc file can be used remotely.
In a public system it's very important to double check the users for whom
you're giving higher privileges than 'normal'. Any other user except 'root'
should not have access level 'superuser'. Normally it's not necessary to
give a user special privileges. 'Normal' would do just fine. You can add
quota or unset it, if you've got enough storage space. There are also other
user levels, you can read about them in the configuration part.
*****************************************************************************
1.5 Helping users
Because AXsh is not a traditional BBS software, there will be some problems,
if you run a public system. That's why it's essential to keep all the manual
pages in sight. /etc/motd file (message of the day) should contain
information about how to get manual references and manual pages
(man -k - and man <name>).
If you want to make the use of the system easier to your users, you can
use the alias system to make menus and one-letter command aliases.
*****************************************************************************
1.6 Manuals
Manuals are AXsh's online help for a user. They should ALWAYS be stored in
AXsh:man/ directory. As mentioned above, manual pages are read with the man
command. It is also possible to search for a manual entry with a reference
key. It might be for example the word 'user'. When you write the command
man -k user
man displays all the manual pages' reference lines which contain something
about users. Let's try it:
man -k user
finger -(AXsh) show user information
irc -(AXsh) multiuser chat utility: (Non-internet-relay chat)
passwd -(AXsh) manipulate userfile
register-(AXsh) ask facts about the user and create an account
who -(Shell) show users currently on the system,terminals,times
write -(Shell) send a message to another user
OK. Now we have the refernce lines on the screen. If `write' is the needed
command, just write:
man write
and the manual page for write appears on the screen. Online manuals work
very much the same way as in Unix, but they are not separated in classes.
All the manual pages are stored directly under AXsh:man/. Manual reference
lines are stored in AXsh:man/Reference.
You might use a separate man program, if it checks and obeys BREAK-signals
(ctrl-c sent by the user or the corresponding signal sent directly to the
program). You also should have /checkcd defined in the AXAUX-filename.
*****************************************************************************
1.7 Installing new software
AXsh is being updated all the time. New versions of programs and whole new
programs are released moderately often. It's your job to install new
software so that it works correctly. In addition to this you should have
some local news groups in which you inform local users about this new software
or modification, so that they can benefit from it as well. After you've
tested the new software locally, you can add execute privileges for users.
Installing new version of an old program is not that complicated. Just move
the program in correct directory (usually AXsh:bin/) and check that
everything works. See also if any modifications to the settings is needed.
If you have received a whole new release of AXsh, read carefully all the
update files before installing. You should also install AXsh into a new
drawer or first copy the configuration files you have personalized or
otherwise modified. There may also be some programs to change the news
subsystem or other parts of the system to a new format. (Upgradenews
converted version1.24 news system to 1.25 format.)
*****************************************************************************
1.8 Administrator's daily duties
There are couple of things that administrators should perform daily. If
you're using cron (CyberCron, dcron), you can do these tasks automatically.
First, you must move all the user log files away from AXsh:etc/adm/.
They are named as follows:
Log<date>-<time>-<tty>
AXsh stores what the user has written to these log files if -log option is
given as a command line argument. It's recommended to use this option with a
public system. If something goes wrong, you can easily check what the user
was doing when it happened.
If you're on a net, a file called AXsh:etc/adm/netlog will contain
information whether a netcall succeeded or not. By using the program
/bin/userstat (and netstat, which is now obsolete) you can analyze this file.
But if you have a lot of news groups, this log file may get very big in a
very short time. That's why you should make it shorter every now and then.
The third thing you have to do DAILY, if you're running a public system:
Check the answer file AXsh:etc/adm/answers. If there's Donald Ducks or other
jokers, just kick them out. It's too big security risk to let them be there.
But don't worry, no one has ever overstepped his access level on a correctly
installed AXsh system. Ever.
XPR saves information about downloads and uploads to the file /etc/adm/Xpr.log,
so that you can see what files are most popular and what files are uploaded.
Each line lists date, size of the file, cps-rate, user, protocol and
filename.
And of course you have to read your mail and news.
*****************************************************************************
1.9 Short introduction to the programs
This is a short introduction to the programs, so that you know which
program does which. Most of the programs also have manual pages
(possibly outdated though) and the programs also spit out usage lines when
they are started without arguments or with -? or -h.
AXsh
The shell. AXsh handles the login process, command line
editing, argument and command checking and execution. AXsh
also has its script language and variables. You can also
assign macros to functions keys and use the filename-completion
feature.
System utilities:
AXAux-Handler
This handler does the communication with the serial port
and the programs. (If you have remote connection.)
ax-server
This server handles incoming calls, adjusts the baudrate if
needed and starts new process for remote login. The server
also handles net calls. You can also use Getty, if you need
to handle UUCP as well, or you can place AXsh under a 'normal'
BBS program as a 'door' program.
AX-server will open a small window and will promptly show the
name of the configuration file it is using. After you activate the
window you can press the menu button on your mouse. The window
should expand to include two gadgets called "Console" and "Terminal".
If you press the Console-gadget, the server will start a new AXsh
session on console (this is controlled by the %newcon: entry in
/etc/rc.server). If you press the Termina-gadget, the server will
release the serial device so that you can start a terminal program.
When you are done with the serial, press the gadget again and the
server will try to allocate the serial again.
AX-server now also locks the serial port, so now you can use a
'lockserial' program or a terminal program that itself uses the
OwnDevUnit.library. In this case you don't have to use the terminal
gadget at all. OwnDevUnit.library must be found from libs:, otherwise
no locking is used. However, AX-server DOES NOT lock the serial
for the command. You could add a lockserial command to the
/etc/remote-startup file.
ax-sysghost
This program keeps track of the users and their variables.
It also keeps track of the system load. The sysghost should be
started on startup, but AXsh will try to start it itself if it's
not running.
killsysghost
If you need to get rid of the sysghost, this program sends
a quit-message to it. However, sysghost can't exit if there
are users logged in.
AmigaDOS utilities:
uptime
who
login
These utilities may be used when using the AmigaDOS shell.
Uptime and who works in the same way as the corresponding
AXsh internals, login may be used to set the UserID associated
with each process. (See also top)
Mail system:
ami
mail
mailserver
Ami and mail are used when reading and sending private mail.
Mailserver is used to distribute mail received from other
systems. AXsh mail uses To:-line when delivering mail, so
it has to generate a new message for each Cc:, and Bcc: is
quite hard to implement.
However, you can also configure the mail system so that you can
use UUCP-mail or other mail systems.
News system:
rn
Rn contains the whole news system. With rn you both read news
and handle all the news administration tasks. You can also
configure the news system, so that you can use UUCP-news or
CNews systems.
nntpnews
Nntpnews is a simple program which uses NNTP to import news
from Internet (exporting is not implemented). This program
is available on seperate request.
AXsh networking:
net
This program uses xprzmodem.library to transfer news and
mail packets between two AXsh systems. It also needs
rn, mailserver and C:LhA.
You can also use Fidonet transport mechanism (with TrapDoor)
to exchange the packets. There will be AREXX script files
in this package that handle this.
File system:
XPR
XPR handles file transfer. Both upload and download is
available and different protocols and settings can be
easily added. XPR can use any xprotocol-library. The
package includes several settings for zmodem,ymodem and
xmodem transfers.
FFE
FFE is the file front end. It is a 'graphical' user interface,
quite like DirWork and Directory opus. You can move in
the filesystem, read filenotes (file filenotes or seperate
description files), see text file contents or packet
(lha and lzh) contents and transfer files with XPR or just
move them to the home directory where they can be further
processed (like only download one file from the packet).
User accounts:
passwd
With passwd you can change password, user name, quota,
accesslevel and add or remove users, list all users or
'finger' a user.
register
Register takes the user's name and other data and creates
a new account and a home directory and the default files
automatically.
Information and statistics:
calendar
mach
Calendar displays the calendar page for current month and
mach determines which processor and co-processors you have.
netstat
Displays statistics of the received news articles.
Now obsolete, use userstat instead.
top
Shows processes and tasks running in the system, their
names, states, stacks, priorities, CLI numbers and owners.
You can also hide libraries, devices and handlers from the
listing.
userstat
Displays various statistics from various subjects. Includes
TOP 10 lists for users by calls and time, for downloads and
uploads by number of times and bytes, and for net activity.
Also displays most popular files and graphical representation
of the system utilization. Long display format displays
everything, normally only first 10 entries are displayed.
File handling utilities:
cat
Spits files to the standard output.
more
Shows files with a pager. Doesn't handle input from standard
input though.
wc
Word counter. Counts chars, words and lines in files.
Nice utilities:
Italics
banner
bigtext
These programs use ASCII graphics to display text in
bigger font. Banner uses a five-row-high font, bigtext
and italics use a three-line-high font.
du
Shows disk usage.
editor
AXsh's full-screen editor. Does not work very well, but
is better than nothing. Put "set term vt100" into your .login
if you have adequate terminal emulation.
ls
A directory lister which also shows group and world protection
bits. Does not handle wildcards.
cc
Consolechat utility. cc opens a window into the WB screen
and so the user can talk with the system administrator.
CC is a lot like U*ix talk.
man
Displays manual pages or searches for references.
*****************************************************************************
1.10 Problems and answers, tips and tricks
Problem:
I have a problem with users logging in via a modem. When the modem
answers the phone it send a carrier and then after 2 or 3 seconds
hangs up. I have a SupraFaxModem 14,400 running with an Amiga
2000HD.
Reason:
This must be the 'CD never gets up after DTR goes down'-bug.. In
SupraFaxModem the Carrier Detect line drops when DTR line goes
inactive, but it never comes up again even if DTR goes active again.
This is why the computer thinks that the carrier has dropped and
hangs up.
Solution:
Increase the DTR delay register, add s25=255.
You can also use Getty (UUCP 1.16D) to take the incoming calls.
Getty does not release the serial, so DTR never drops.
You should also have the modem ignore DTR, &d0.
Problem:
I have a ZyXEL U1496E. When I set the serial speed to 38400 the
program does not work correctly. The highst possible speed is
19200.
Reason:
AXAUX normally gets the serial speed from the preferences and
possible speeds only include speeds upto 19200 bps.
Solution:
Use 19200 or add /speed38400/ to the axaux-filename and use that
speed in %bpslock:
Problem:
Editor thinks that it has more lines than it has.
Reason:
Actually, your window is too narrow. Editor does not really read the
columns variable, but assumes that you have 80 columns.
Solution:
Add a little overscan and make the window bigger. A window of 664x216
is the right size in ks2.0. In ks1.3 you have to get/use a new
preferences program.
*****************************************************************************
2.0 Configuring and customizing AXsh
This section is reserved for the actual configuring and customizing.
Getting AXsh out of the packet is not much. In this section we give AXsh
unique features in your system. We'll modify all the /etc/rc files up to
date and also make the system stylish and usable to you and your users.
Remember that the identifier names are case-sensitive, should be always in
lowercase and the colon is part of the name. Rest of the line is ignored.
The setting for that specific entry follows on the next line. All paths
should end in a slash or a colon, for example AXsh: and AXsh:home/ are legal
values.
*****************************************************************************
2.1 /etc/rc
/etc/rc is the main configuration file in AXsh. In that file you define what
commands and directories the users are allowed to use. You have to decide
what commands every access level can run and the directories they can access.
Here's the rc file's structure:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%home: /* users' home directories */
AXsh:home/
%news: /* news-system directory */
AXsh:usr/spool/news/
%mail: /* system mailbox directory */
AXsh:usr/spool/mail/
%timezone: /* timezone string, default GMT (max 9 chr) */
EET
%upload: /* system upload directory */
AXsh:usr/spool/upload/
%exampleuser: /* this dir is copied to a new home dir */
AXsh:etc/ExampleUser/
%priority: /* AXsh priority */
0
%thismachine: /* Hostname */
pasbox.hro.fi
%hub: /* The machine we are supposed to call */
tap.tre.fi
%password: /* Password for us in the hub */
secretpass
%organization:
Digital Disaster Design - Wanna fry some chips ?
%tempdir: /* Temporary place for e.g. mail/news packets */
T:
%answers: /* Answer file */
AXsh:etc/adm/answers
%newregister: /* "no" will disable the "new"-loginname register feature */
yes
%defuserlevel: /* user level for new users - default is "visitor" */
visitor
%defquota: /* quota for new users - default is 50k */
50
; Permitted dirs. Only symbolic paths are necassasy
%dirs:
$daemon:
$system:
$wizard:
$superuser:
$assistant:
$privileged:
$trusted:
$friend:
work:
$qualified:
$normal:
$guest:
$visitor:
C:
dh0:
dh0:System/
dh0:Tools/
Libs:
devs:
devs:keymaps/
devs:printers/
L:
fonts:
AXsh:
AXsh:etc/
AXsh:bin/
AXsh:info/
AXsh:man/
AXsh:usr/
AXsh:usr/spool/
AXsh:usr/spool/news/
AXsh:usr/spool/upload/
AXsh:usr/src/
AXsh:home/
#
%commands: /* p-no path, h-in home, q-check quota */
$wizard: /* i-ignore args, f-not a filename r-raw mode */
$superuser:
run
path
$daemon:
$system:
$assistant:
utils:m
c:c13/runback
$privileged:
$trusted:
$friend:
lc:lc
lc:blink
f AXsh:bin/mailserver
f AXsh:bin/net
$qualified:
$normal:
$guest:
$visitor:
f ALIAS
f CD
f CHFN
f ECHO
EXECUTE
f FINGER
q FTP
IF
f INTERNAL
f PASSWORD
p PROTECT
f QUOTA
QUIT
f SET
f SYSINFO
f UNALIAS
f UNSET
p UPLOAD
f UPTIME
f WAIT
WHICH
f WHO
f WHOAMI
f WRITE
f AXsh:bin/AMI
f AXsh:bin/ascii
f AXsh:bin/banner
f AXsh:bin/bigtext
f AXsh:bin/calendar
AXsh:bin/cat
r AXsh:bin/CC
f AXsh:bin/clear
rf AXsh:bin/consoletalk
AXsh:bin/du
qp AXsh:bin/editor
AXsh:bin/ffe
f AXsh:bin/italics
f AXsh:bin/last
AXsh:bin/ls
f AXsh:bin/mach
qf AXsh:bin/mail
AXsh:bin/man
AXsh:bin/more
f AXsh:bin/netstat
h AXsh:bin/news
f AXsh:bin/passwd
f AXsh:bin/register
qi AXsh:bin/rn
qph AXsh:bin/rx
qh AXsh:bin/sigmaker
AXsh:bin/sx
AXsh:bin/sz
f AXsh:bin/top
AXsh:bin/userstat
AXsh:bin/wc
AXsh:bin/XPR
i C:Assign
f C:Avail
fi C:c13/Date
i C:Dir
C:Info
C:List
f C:Status
f c:c13/ECS
f c:c13/SI
c:c13/Cmp
f c:c13/DevInfo
f c:c13/Procs
C:Version
c:c13/WhereIs
Utils:DFrags
pqh Utils:HamSharp
qph Utils:LHarc
qph Utils:LhA
qph Utils:Lz
p Utils:Uudecode
p Utils:Uuencode
qp C:Copy
qp C:Delete
qp C:Join
qp C:Sort
qp C:MakeDir
qp C:C13/Move
qp C:Rename
C:Type
LC:grep
p LC:touch
p LC:Diff
#
Directory and command definitions:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are two main sections which are splitted in several parts by user level
names:
%dirs: %commands:
$daemon: $daemon:
$system: $system:
$wizard: $wizard:
$superuser: $superuser:
$assistant: $assistant:
$privileged: $privileged:
$trusted: $trusted:
$friend: $friend:
$qualified: $qualified:
$normal: $normal:
$guest: $guest:
$visitor: $visitor:
# #
Each section begins with %<identifier>: and usually ends with a #. Access
level specifiers are defined with $<specifier> qualifier. There are four
superuser access level specifiers:
daemon, system, wizard, superuser and
eight normal user levels:
assistant, privileged, trusted, friend, qualified,normal, guest, visitor
(You can get a list of these with passwd -ll.)
Allowed directories are defined in the %dirs: section. Each directory path
name ends with a / or :. All the paths defined after the access level
specifier are valid for the corresponding access level. This means that
directories specified with lower level users are also valid for higher access
level users, if you keep the access level specifiers in the same order as
here and don't use the limiting character (#).
You can also make separate definitions for each access level, if you end a
level definition with a #-sign. You can mix these two defining methods too,
for example "normal" has some of its own directories and all of the
directories that are defined for "guest", which has only its own definitions.
e.g.
%dirs:
$guest:
axsh:usr/
axsh:usr/spool/
axsh:usr/spool/news/
$visitor:
axsh:
axsh:man/
axsh:info/
#
$assistant:
axsh:
axsh:etc/
axsh:etc/adm/
#
$daemon:
$wizard:
$superuser:
...
Here "visitor" can access only his own home directories, AXsh root
directory, man and info directories. "guest" has all these and
some additional directories to access.
"assistant" can do only administrative jobs and has access to AXsh
root directory and /etc and /etc/adm directories.
The %commands: section lists all the executable commands for each access
level. We suggest that you modify your own rc file based in the rc file
which is included in the distribution. Commands for each access level are
specified in the same way as in the directory section. You must not add any
intuition-based programs to the list. For local use, just use path to add
directories to AXsh:s path. Only superuser (root), when logged in on
console, is allowed to run any program. Any superuser can use any directory
too. Starting from 1.26, AXsh can also run resident and shell-internal
commands under KS2.0 .
Before the command name in the /etc/rc file there are possibly some flags. If
you put a "p" before the command, it's arguments can point only to the home
directory, but the command can be run anywhere. Like "p editor". You can
start the editor anywhere, but only edit your own files. "h" means that the
command can be run only in the home directory. Usually this means that the
program stores its data files in the current (default) directory and allowing
the use of the command elsewhere would cause configuration and other files
pop up randomly anywhere the user can go. "i" will make the arguments
disappear. These three flags has no effect on superusers
"q" suggests that the used disk space is checked after the command. "r" will
cause the command to be run in raw-mode, instead of the usual console-mode.
Must be used for those programs that expects to be run on RAW: . "f" will
not try to do any interpretations on the arguments, otherwise ".." , "~" and
other Unix-like paths are converted to AmigaDOS format.
Global definitions:
~~~~~~~~~~~~~~~~~~~
After (or before) dirs and commands there are a few other identifiers, which
can be changed quite freely depending on the configuration of the AXsh
system.
First there's the default home directory for users. We suggest that you use
AXsh:home/, but it may be some other directory as well. This controls where
the registered users' home directories are created. This does not have any
effect to home directories that already exist. All path definitions MUST end
with a slash or colon ("/" or ":").
%news: and %mail: specifies where the news and mail systems are located.
%timezone: sets the string that is appended to date strings when sending
news or mail. It may be 9 characters long, the default is GMT if this entry
does not exist.
%upload: defines where the network uploads go. It's possible to send binary
files through net with news packets and they end up where this definition
points. Remember that this may or may not be the same directory that is used
in XPR. XPR upload directory is specified in /etc/xprotos.tab.
%exampleuser: defines a path that points to the directory that will be
copied to new user's home when a new account is created. You can store
read.me files etc. there. We recommend that you'd use AXsh:etc/exampleuser/
here. Register uses c:copy to copy the files, so that should exist also.
%priority: is the priority that AXsh takes on startup. You might use 1,
because you're using the system on the console paying nothing but the
electricity bill. The poor guy on the phone line is paying the phone bill,
so he should be the one getting CPU time whenever he wants.
%thismachine: tells the network name of this site. No special format in
used, we've used this: machine_name.town.state. For example:
my_bbs.london.gb. To make the network work, this name should be less than or
equal to 16 characters.
%organization: defines an Internet organization line. Could contain state
and town and name of your system.
%hub: defines the machine that is your hub machine on the net. Hub refers
to the main machine that you poll. This and the %password:-entry are
normally associated with the rc.server event definitions.
%password: defines the password that is sent when a net connection is
established and the hub machine has taken your machines name. This is
something you and your hub machines administrator should decide. The
password may not be too easy to guess, because other systems may have system
privileges on the remote hubs. You do not have to give another host system
privileges if you give permission to use AXsh:bin/net to normal users.
%tempdir: defines the temporary directory for network files. Usually T: or
RAM:. Currently this is only used to store network packets while receiving and
sending them. Rn also uses this while creating new articles.
When the system crashes and AXsh notices it, it tries to reboot the system
to avoid gurus and system down-times. It's done by executing an external
program which is defined in %reboot:. We recommend that you use SetCPU
romboot.
%answers: defines the file where AXsh:bin/register stores users'answers.
Usually AXsh:etc/adm/answers.
%newregister: enables or disables the login name "new". "no" will disable
the feature.
%defuserlevel: defines the user level for newly-registered users. Default
level is "visitor". You can also define the quota for new users with
%defquota:. Default quota is 50k.
*****************************************************************************
2.2 /etc/rc.server
AX-server has its own configuration file called /etc/rc.server. It contains
modem initialization commands, network stuff and command lines that are used
to initiate new AXsh sessions and network events. Default AX-server
configuration file looks like this:
%bpslock:
19200
%bps:
19200
%serverpri:
4
%starthour:
0
%stophour:
25
%newshell:
newshell AXAUX: from AXsh:etc/remote-startup
%newcon:
newshell raw:0/9/428/210/AXsh from AXsh:etc/local-startup
%modem-reset:
ATZ
%modem-aa:
ATS25=255W2\N3&C1&D0M0E0S0=1
%modem-noaa:
ATE1S0=0
%eventhour:
25
%eventmins:
0
%eventnumber:
ATX4E0DT161320
%eventcommand:
AXsh:bin/nntpnews <axaux: >axaux:
%ringflash:
0
%device:
serial.device
%unitnumber:
0
%handshake:
cts/rts
In the first line %bpslock: defines possible baud rate lock. If you have a
high speed modem that can always use the same speed (e.g. 19200 bps), you
can define %bpslock:. If AX-server finds a %bpslock: specifier from the
configuration file, it uses ALWAYS that bps rate regardless of actual
connection bps rate. It will still show the connect message received from
the modem in the title bar.
For now you should only use speeds that are available in serial preferences !
If you are using multiple devices or other than the builtin serial port, you
MUST use a fixed DTE-speed and also tell axaux: what the used speed is
(for example AXAUX:serial.device/6/shared/checkcd/speed38400).
If %bpslock: is not used, %bps: defines the highest possible speed of you
modem. All the controlling commands ("ATZ" etc.) are sent at this baud rate.
Baud rate between modem and Amiga is changed to match the rate at phone line
after a successful connection. The baud rate in preferences is set
accordingly so that AXAUX will operate at the right speed. This is why you
can only use speeds that are possible in serial preferences.
%serverpri: defines AX-server's priority. It should be less than five, but
more than one. Four should be enough. AX-server should never stuck. NEVER.
It may take a while if the modem is giving it a hard time by using the
handshake (7-WIRE) to hold the transmission. In that case you might want to
hard-reset the modem. Commodore recommends that all the programs' priorities
should be less than 5.
If you are running a system that takes calls in only at night or only at day
time, you can describe starting and stopping hours for AX-server.
%starthour: defines the hour when AX-server starts to answer the incoming
calls and %stophour: when it stops. For example if your system opens at
20:00 (08:00 PM) and closes down at 06:00 (06:00 AM) you type here:
%starthour:
20
%stophour:
06
%newshell: opens a new AXsh by executing a script which usually is stored in
AXsh:etc/ directory and named remote-startup. This opens an AXsh session for
external users.
Local console session is opened in the same way. %newcon: opens a window to
the console and then executes AXsh starting script. You can change the
window parameters, but don't touch the AXsh:etc/local-startup file. It's
just fine. The window should be 80 columns wide, because currently most
programs expects that. If necassary, add some overscan to make the window
larger (I have 724x564 in PAL-interlace).
%modem-reset: defines the string that resets the modem. Usually ATZ. It is
wise to store modem settings with echo disabled, as that saves you from some
unexpected difficulties. You should also disable the DTR checking, because
there is delay between AX-server releasing serial and AXAUX: opening it
again. You can also set the DTR delay to a high enough value.
%modem-aa: defines the autoanswer string. This string is sent to the modem
when the time is between starthour and stophour. You may have to modify this
depending on your modem's command language.
AX-server sends %modem-noaa: string to modem when stophour occurs. It can
reset modem or just put autoanswer off. Currently AX-server just resets the
modem if it needs to turn the autoanswer off, so this entry is not really
used.
%eventhour: and %eventmins: tells AX-server when to make a network call.
You have to discuss about this with your remote hub's administrator.
%eventnumber: defines the string that AX-server sends to modem when an event
hour occurs. Usually it contains ATDT<phonenumber>.
%eventcommand: defines the script or program that is to be executed after a
connection is established between your machine and remote hub. If the number
is busy or the connect fails, AX-server will try again in five or ten minutes
until it succeeds or the the event hour does not match anymore. If you are
calling an AXsh hub, the event command would be something like:
AXsh:bin/net <axaux: >axaux:
AX-server can flash the screen when phone rings. %ringflash: defines the
situations where it flashes the screen:
0 - do not flash
1 - when sleeping (not taking calls in)
2 - when answering calls
3 - always
There are also two additional definitions. You can use %device: and
%unitnum: to use some other device than the built-in serial. If you set
these, you have to do modifications to the %newshell too. e.g.
newshell AXAUX:modem0.device/0/ from AXsh:etc/remote-startup
However, the ring checking is still done directly from the CIA. If you use a
printer much, you might want to turn the flash off, because the modem Ring
Indicator uses the same CIA input line with the printer Online Select line
and AX-server would think that the phone is ringing.
If you are not using the builtin serial, you should have 0 in the %ringflash:
entry !
%handshake: configuration entry is for those people who don't have the
possibility to use cts/rts (7wire) handshaking with their modem. In that
case set it to "none". AXAUX: uses handshaking by default, so you also
need to change the %newshell: entry to include /noflow.
newshell AXAUX:serial.device/0/noflow from AXsh:etc/remote-startup
You can also use several different configuration files, because one can be
picked using a command line parameter when invoking AX-server. The name of
the configuration file can be seen in the window title bar during the
setup. The synopsis is:
AX-server [-f<config-file>] [-x<xpos>] [-y<ypos>] [-h<title-height>]
As you can see, it is also possible to define where the window will be opened
and if the system title font is larger than 8 points, the title bar height
can also be set. You still should remember that if the window will not fit
into the screen, the program does not try to reopen it and exits.
You can also run a multiline system, if you mount several axaux-handlers,
named differently of course. You also need as many server configurations.
You need seperate handler for each line, because AXAUX-handler is not
designed to handle several ports simultaneously.
*****************************************************************************
2.3 /etc/rc.ffe
FFE is a `file area' for users. If you have files to download in your
system, it's reasonable to set up ffe. For that you need to modify rc.ffe.
FFE (File Front End) is stored in AXsh:bin/ and it uses a VT100 interface.
AXsh:etc/rc.ffe looks like this:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%filepath:
Archive:
%descpath:
axsh:etc/ffe/
%xprpath:
axsh:bin/xpr
%suffix:
.zoo utils:zoo l
%suffix:
.lha utils:lha v
%suffix:
.lzh utils:lha v
%suffix:
.dms utils:dms view
%filepath: in the first line defines where your public files are stored on
the disk. It may also be a complete path name as well as an assign. If it
is a path, it must end with a /. Now you can also define several (16)
%filepath: entries. In this case FFE will show 'links' to all of them in
the top level directory and you can change between them.
FFE will give access to all subdirectories that are under the defined filepath
directory. This is not always wanted, for example if you have some directories
that you want to be private. FFE won't show a directory (and you can't enter
it when in FFE) if its hidden-flag is set or the execute-flag is unset. So,
you can hide whole branches of the directory tree from the normal users.
Superusers still have access to all file directories.
%descpath: defines where the file description texts are stored. This
directory should exist to make the descriptions work. Each file may have a
short description file. (Read FFE's manual page for more information).
Don't change this. If there is no description file, FFE will show the
filenote, if that exists.
%xprpath: defines where the xpr program is stored. Usually it's with AXsh
and is stored in AXsh:bin/.
With %suffix: entries you can define different commands for different types
of files. This can be used to allow a user to take a look into the contents
of a file packet. Just define a command and an appropriate option for a
suffix. The command is started with 'c' and if no suffix match and the file
is not binary, it is displayed with a pager.
The default rc.ffe will have suffixes defined for zoo, lha, lzh and dms
packets, but you may have to change the paths.
*****************************************************************************
2.4 /etc/rc.news
The news subsystem can be configured by changing various configuration
entries in the /etc/rc.news configuration file. If you use UUCP, you have to
change the default values defined there. This part of the document will give
suggestions only and better settings may be possible. Even if you use AXsh
mail and news you should read what all possibilites there is.
The entry %news: in the main configuration file (/etc/rc) defines the
location of the newsgroups.
/etc/rc.news:
~~~~~~~~~~~~~
%grabfile:
Grab.rn
The name of the grab file created in home directory. Whenever
a Grab option is selected in rn, this filename is used.
%batchfile:
AXsh:usr/spool/news/%s.batch
This is the file where message filenames that are sent to
other system are saved. %s in this string is the hostname.
With UUCP you would use UUSPOOL:batch/%s. See also %sysfile:.
%sysfile:
AXsh:usr/spool/news/Sys
Hosts to whom forward news. This file is very much like the
Sys file in UUCP. Read explanations about the entries from
the file itself. In UUCP you would use UULIB:sys.
%newsgroupfile:
AXsh:usr/spool/news/NewsGroups
File where the newsgroups are listed. Only groups present
in this file are consired active by rn. The numbers after
the newsgroup names in the file are the expire times, older
messages in the corresponding group are deleted when "rn tidy"
is executed.
%quotestring:
> %s
Used when doing follow-ups. %s is the quoted string itself.
Newline is appended automatically.
%postnews:
internal
UUCP:c/postnews <%f -f %u -r "%r" -R UULIB:Newsheader
This defines the command used when posting news. With AXsh
news you should use internal and with UUCP use something
like UUCP:c/postnews <%f -f %u -r "%r" -R UULIB:Newsheader.
As you can see, you can use some special variables.
%f = name of the article file
%u = user login name
%r = user full name
If you use Active file, you HAVE TO use external postnews.
Also remember that Rn does not generate Path:,From:,Date: nor
Organization: lines with external postnews.
%distribution:
world
Distribution defines the Distribution:-field for messages.
The default value is "world".
%fupref:
In %s %s tells:
This defines the followup header line. The first %s is the
article-ID, the other one is the sender.
%sendmail: (Obsoletes %mailer:)
axsh:bin/mailserver %f
UUCP:C/Sendmail <%f -f %u -R "%r" -t "%t"
%f = name of the letter file
%u = user login name
%r = user full name
%t = receiver (login name only)
Rn now edits mail replies itself instead of executing the mailer
command. So, %mailer: configuration entry was made obsolete by
%sendmail: entry, which works similarly to that in rc.mail.
However, CC: (%c) is not available and "AXsh:bin/mailserver %f"
is used instead of "internal". This is also the default setting.
Rn doesn't provide a Message-ID: for mail messages, but at least
UUCP1.16D version of the sendmail adds it automatically.
%netlogfile:
AXsh:etc/adm/netlog
Name of the netlogfile. Net, rn and other programs will
write short report lines here about net activity.
%activefile:
none
Name of the active file to be used. "none" means that it is
not used.
Currently the active file is only read, and you have to use
external postnews command if you use it. Some of the commands
in Rn are also disabled if you use an active file (CNews),
because they must be handled by a seperate program.
%nntpgroupfile:
AXsh:usr/spool/news/NNTPGroups
The file where the NNTP-newsgroups are listed. Only used in the
NNTPnews-program, which imports news from a NNTP server.
(The program is available on separate request.)
%nntplogin:
\n kaima-ts> kummi-ts>
"term flow hard\n" kaima-ts> kummi-ts>
"term telnet-t\n" kaima-ts> kummi-ts>
"telnet news.cc.tut.fi 119\n" "200 lehtori" 200
#
Set of Send-Expect1-Expect2 strings used when NNTPnews logs in to
the NNTP server.
%nntpdebug:
0
Debug level for NNTPnews. 0 means no logging, 1 logs only the
handshake process and group responses, 2 logs all traffic (slow!).
NEWSGROUPS
All active newsgroups are listed in the Newsgroups file and they
should have directories, and .next files. AXsh uses tree-structured
directories. For example comp.sys.amiga.misc has a directory
AXsh:usr/spool/news/comp/sys/amiga/misc.
AXsh news also uses .lowest files where it stores the number of the
lowest article in that newsgroup.
If you use CNews' active-file, newsgroups-file is not used and
.next and .lowest files are not used. Rn will believe what the
active file says. You also shouldn't use rn tidy or rn active
when using CNews.
SYS-file
In this file we define where to send news articles. Name of the file
is defined in the news configuration file (/etc/rc.news). Each line
(that is not a comment or an empty line) defines a host and a
newsgroup patterns. Only articles in groups that are defined in the
sys file are forwarded. Negative patterns can also be used, so that
news in those groups are not sent.
Patterns that are currently supported include:
*,*str,str*,*str*,str
and negated versions of these.
example:
remote:*,-local*
All groups except groups starting with a string "local" are sent to
the remote host. The host name must start from the first column.
Things that are different from UUCP:
? and machine aliases not supported yet
\ (line continuation) is not supported yet.
However, lines may be upto 256 characters long.
NEWSGROUPS-file
This file contains all active newsgroups, expire times for
the messages in each groups and additional flags.
e.g.
alt.hackers 60 r
axnet.axsh.dev 60
junk 10
Here the group alt.hackers is a read-only group, where
posting is not allowed. All articles older than 60 days will
be removed when a command "rn tidy" is executed.
axnet.axsh.dev has no restrictions, but the exprire time is
the default 60 days.
junk could be defined to be a read-only group also, but here
the expire time is set to 10 days.
Newsgroups file is not used when Active file is used.
ACTIVE-file
The active file rn generates (rn active <filename>) only
contains the newsgroup names and the number of the last
and first article in each group. Do not generate active file
is you don't know exactly what you are doing. If your news
system already creates and handles an active file, DO NOT
use Rn to generate an active file, but use %activefile:
configuration entry instead.
e.g.
alt.hackers 0001027 0000765 y
alt.sys.amiga.uucp 0001384 0000986 y
comp.arch 0001561 0001548 y
comp.sys.cbm 0002951 0002551 y
rec.arts.sf.starwars 0002546 0002546 y
*****************************************************************************
2.5 /etc/rc.mail
The mail subsystem can be configured by changing various configuration
entries in the /etc/rc.mail configuration file. If you use UUCP, you have to
change the default values defined there. This document will give suggestions
only and better settings may be possible. Even if you use AXsh mail and news
you should read what all possibilites there is.
The entry %mail: in the main configuration file (/etc/rc) defines the
location of the mailbox files.
/etc/rc.mail:
~~~~~~~~~~~~~
%sendmail:
internal
UUCP:c/sendmail <%f -f %u -R "%r" -t %t -c "%c"
This defines what command is used to deliver an already
compiled mail message. For AXsh mail this should be
"internal", for UUCP you would use
UUCP:c/sendmail <%f -f %u -R "%r" -t "%t" -c "%c".
As you can see, a number of special variables can be used.
%f = name of the letter file
%u = user login name
%r = user full name
%t = receiver (login name only)
%c = carbon copies
For external sendmail, only one message is generated and the
program should also handle the receivers in the Cc:-line.
%routetable:
AXsh:usr/spool/mail/Routetable
This entry gives the filename for the AXsh mail routing
table. Each line in the file lists two host names. The
second host name defines the host where the mail will be
delivered if the receiver's host is the same as the first
host name.
e.g.
x.ola.fi tap.tre.fi
All messages to x.ola.fi are sent to tap.tre.fi to be further
forwarded. This file is NOT used if UUCP (external) sendmail
is used.
%aliasfile:
AXsh:usr/spool/mail/Mailaliases
The file defined here is used for mail aliases. Aliases are
expanded before .forward files and they refer only to mail
addresses, no piping to commands are yet implemented.
Further alias and .forward replacement can be disabled with
a "\"-sign.
e.g.
pasi.ojala: \root
root: albert
axsh: root root@tap.tre.fi root@x.ola.fi root@oxygene.tku.fi
This file is NOT used if UUCP sendmail is used.
Remember that the lines (and addresses) are case-sensitive !!
$HOME/.forward
Users can create a file named .forward in their home directory
to forward received messages to other systems or to
different user name in the same system. .forward consist of
lines, each carrying one mail address. Further alias and
.forward expansions can disabled with a "\"-sign.
e.g.
\root
albert@tap.tre.fi
Does UUCP use .forward-files ?
Remember that the lines (and addresses) are case-sensitive !!
*****************************************************************************
2.6 /etc/issue & /etc/motd
/etc/issue is displayed before the login prompt and could have e.g. the
system name and OS version. This file is optional: if it does not exist, no
error message is printed. Don't use long issue files.
/etc/motd is the `message-of-the-day' file, which is displayed to every user
after a successful login. It's recommended that the administrator modifies
this file and adds at least some explanations about how to get help (man -k
-).
*****************************************************************************
2.7 /etc/forbiddenvars
This file defines which variables can't be set by user. You need this with
'foreign' newsreaders and other UUCP stuff, because a user shouldn't be
allowed to change e.g. the POSTNEWS variable.
You can also define how many times a given variable can be set (usually 1),
so that you can set them in /etc/globallogin, which is executed before
.login. AXsh 1.3 exports all the variables to 2.0 shell local variables,
if it is possible (if you have a ks2.0 system). Since AXsh version 1.3, all
variable names are case-insensitive, but the case is preserved.
/etc/ForbiddenVars:
~~~~~~~~~~~~~~~~~~
user
USERNAME
HOME
organization
version
quota
lastlogin
MAILER 1
<variable-name> <soft-spaces> [<set's allowed>]
All these variables can only be set by the system, except MAILER is allowed
to be set once. Of course you would want to use /etc/GlobalLogin to set the
variable before the user can run his own scripts.
*****************************************************************************
2.8 /etc/globallogin
GlobalLogin is executed EVERY time a user logs in, before executing ~/.login,
so that you can be certain that needed variables are set. Globallogin is
executed with user privileges, but if you use /etc/ForbiddenVars correctly,
you can set the variables you like.
*****************************************************************************
2.9 /etc/crontab
Cron is a program that executes particular programs at particular time. AXsh
does not contain cron, but there are at least two PD crons, which are tested
and found useful with AXsh : CyberCron and DCron. Both can be found from
Fish Disks.
The recommended crontab file should contain at least these lines:
# axsh:etc/crontab
#
#min hr day mon dow command
# adjust time every 24 hours.. keep us in line
0 0 * * * c:setclock load
# run rn tidy
0 7 * * * axsh:bin/rn tidy -m300
# clean /etc/adm/ of all the crap AXsh places there during a user call
0 18 * * * c:type axsh:etc/adm/log#? >>axsh:home/root/temp/luserlog
1 18 * * * c:delete >nil: axsh:etc/adm/log#?
2 18 * * * axsh:bin/shorten 1000 axsh:home/root/temp/luserlog
3 18 * * * axsh:bin/shorten 5000 axsh:etc/adm/netlog
59 18 * * * c:setclock load
The first event occurs at 00:00. Cron fixes Amiga's clock up to date again.
At 07:00 it runs rn tidy, which cleans old news files off the disk. Then at
18:00 (06:00 PM) it's time to clean old log files and restore them in root's
home directory for further handling. Shorten makes log files shorter, so
that they won't eat too much disk space.
*****************************************************************************
2.10 /etc/xprotos.tab
Both FFE and XPR need /etc/xprotos.tab to operate. There's a default
xprotos.tab, but it can be modified, if new powerful protocols come out in
xpr versions. You have to be careful not to allow overwriting in uploads,
because this is a serious security risk. For example xmodem is a protocol
that should not be allowed. It is included in the default xprotos.tab-file,
because it uses the xprymodem.library and this library has an upload-path
feature.
The default xprotos.tab looks like this:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"zmodem"
Library: xprzmodem.library
Descrip: Binary/No overwrite/Full duplex/No delete/No paths
Options: TN ON B16 F0 E10 AN DN KY SN RN PAXsh:usr/spool/upload
Default: TC,ON,B16,F0,E10,AY,DN,KY,SN,RN,P
"zmodem-home"
Library: xprzmodem.library
Descrip: Binary/No overwrite/Full duplex/No delete/HomeDir
Options: TN ON B16 F0 E10 AN DN KY SN RN P
"zmodem-window8k"
Library: xprzmodem.library
Descrip: Binary/No overwrite/Full duplex/8k window/No delete
Options: TN ON B8 F8192 E10 AN DN KY SN RN PAXsh:usr/spool/upload
"xmodem"
Library: xprymodem.library
Descrip: Chop/Checksum
Options: YS,Z1,C0,B0,OAXsh:usr/spool/upload
"xmodem-crc"
Library: xprymodem.library
Descrip: Chop/CRC16
Options: YS,Z1,C1,B0,OAXsh:usr/spool/upload
"ymodem"
Library: xprymodem.library
Descrip: Batch/Chop/CRC16/1K blocks
Options: YB,Z1,C1,B1,OAXsh:usr/spool/upload
"ymodem-g"
Library: xprymodem.library
Descrip: Batch/Chop/CRC16/1K blocks/No Acks or retries on error
Options: YG,Z1,C1,B1,OAXsh:usr/spool/upload
"ymodem-a"
Library: xprymodem.library
Descrip: Batch/Chop/2K blocks/No CRC checking or retries
Options: YA,Z1,C1,B1,OAXsh:usr/spool/upload
Each protocol definition starts with a general protocol name. This has
nothing to do with the library name or options it uses, it is just the name
the user uses to refer to it. It can be found between two "-marks. Next
line describes the library this particular protocol opens. Descrip: is a
description line, which will be displayed when user starts the transfer.
Options: defines protocol oriented features. They are usually explained in
the manual delivered with that specific library. If the options string ends
with a "P" (upper case p), the home directory of the user is appended.
This feature is need if you want to allow uploading to home directories as
well as to the global upload directory. See xpr.man for more info.
Xpr will write upload and download report lines to /etc/adm/xpr.log, if the
transfer protocol support file length and transfer progress indication.
*****************************************************************************
2.11 /etc/adm/ directory
/etc/adm directory is used to store log files generated by AXsh and some
external programs. Administrator should check these files regularly. The
following files may be found on the active AXsh's /etc/adm directory:
------rwed-------- 17 8414 05-Jul-92 01:15 Xpr.log
------rwed-------- 46 22701 04-Jul-92 23:21 answers
------rwed-------- 38 19150 05-Jul-92 18:03 cron.err
------rwed-------- 65 32952 05-Jul-92 03:17 netlog
Plus some Log.xx.xx.xx files, if AXsh is currently active. Xpr.log contains
short information about files sent or received using xpr. Answers is the
file, where AXsh:bin/register stores users' answers. Cron.err is cron's log
file. Netlog contains short status lines of net activity. These lines can
be analyzed with AXsh:bin/netstat.
*****************************************************************************
2.12 /etc/Questionnaire
Questionnaire file contains all the administrator-defined questions asked by
AXsh:bin/register when a new user logs in the first time. The questionnaire
file may look like this:
Street address:
Postal address:
Town:
Phone:
Age:
Computer:
Do you know how to use Amiga Shell?
Do you know how to use Unix?
*****************************************************************************
2.13 /etc/adm/Answers
All the answers users give to your questions in /etc/questionnaire file are
stored in /etc/adm/answers. It's important that you check these every day
and kick jokers out of your system. If the user have `missed' some
questions, but looks OK (check his /etc/adm/Log.xx.xx.xx), it's better that
you just send him or her mail and ask the missing question again and add it
to the answers file.
*****************************************************************************
2.14 /etc/exampleuser/ directory
The contents of the /etc/exampleuser/ directory will be copied to every new
user's home directory after registering. Default /etc/exampleuser/ looks
like this:
------rwed-------- 1 388 02-Jul-92 13:54 .login
------rwed-------- 1 332 02-Jul-92 13:54 .logout
------rwed-------- 1 38 02-Jul-92 13:54 .plan
------rwed-------- 1 37 02-Jul-92 13:54 .project
------rwed-------- 1 83 02-Jul-92 13:54 .signature
You may add your own files there as well, but try to avoid that because most
of the users keep them in their home directory even if they don't need them.
Extra files eat storage space.
*****************************************************************************
2.15 /etc/register.*
These files have the texts that are sent to a new user when he registers.
Register.script is a script file (or a command) which is invoked after an
account is created. The new account (login name) is given as an argument.
The example register.script sends a pre-written mail message to new users and
displays register.after-textfile.
*****************************************************************************
2.16 /etc/nologin
When this file exists, no logins are allowed and any non-superuser users
currently on the system are kicked out. The file should contain the reason
for shutdown, like "Owners game session is about to begin" :-)
Superusers get a polite message which informs them that the system is
possibly going down and it would be nice if they logged out.
*****************************************************************************
3.0 Networking under AXsh
One of the most powerful features of AXsh is its cabability to operate in a
network. This means that you can send files, news and mail between two
Amigas or between an Amiga and a Unix machine. Usually one Amiga running
AXsh collects news from Internet and then deliveres them to a smaller net of
AXsh systems. UUCP connection is recommended when doing Internet access.
You can also use other transport mechanisms, like TrapDoor to exchange the
packets, but you also need some scripts to handle the packing and unpacking.
AXshSZIMEX03.lha includes AREXX scripts to be used with TrapDoor and the
packet is either included in the package or available in a seperate support
package.
*****************************************************************************
3.1 Network installation
For networking you need the programs AXsh:bin/net, AXsh:bin/rn,
AXsh:bin/mailserver and C:LhA. You also need xprzmodem.library (version 2.52
is recommended). If you don't have much RAM, you should define %tempdir: in
/etc/rc to point somewhere in disk.
*****************************************************************************
3.2 Creating a node
What you have to do is define the machine name, hub name and password in
/etc/rc and the event time, event number (the number the hub is reachable
from) and the event command in /etc/rc.server . Refer to the sections 2.1
and 2.2 for details.
The admistrator in the hub will have to make an account for your machine and
insert the node into the mail system routetable. You also have to discuss
with him/her about the calling time, it is not very nice if all nodes try to
call in the same time. If the hub allows the command net for normal users,
you can even register the node yourself. The account for a node is excactly
the same as accounts for normal users. Your machine must also be added to
the /usr/spool/mail/Routetable and /usr/spool/news/Sys so that you can
receive mail and news.
The same additions have to be done in your system. You have to create the
Routetable file, which has lines like:
<remote-node> <route-node>
The <remote-node> is the name of the system you are sending mail to and the
<route-node> is the system the mail is forwarded to (usually your hub). The
<remote-node> must start from the first column, but there may be any number
of spaces and TABs between the two names.
If you're not the hub and your system's name is (for example) pasbox.hro.fi
and your hub's name is tap.tre.fi, your routetable would look like this:
tap.tre.fi tap.tre.fi
7heaven.ola.fi tap.tre.fi
This means that all the messages going to 7heaven.ola.fi are first delivered
to tap.tre.fi, which forwards them to 7heaven.ola.fi, because you don't have
a direct connection to 7heaven.ola.fi.
The Sys file defines what newsgroups are forwarded and where. See the
example sys file for explanations about how to set it up.
*****************************************************************************
3.3 Creating a new network
If there are some AXsh sites on your neighbourhood, but no working network,
it's highly recommended, that you make one. By using AXnet you can transfer
news, mail and files between systems. AXsh uses a star model in network,
e.g. one system is a hub and other systems make networking calls to hub. By
using this method maximum delay between sending and receiving a message is
two days, if every node polls the hub once a day. It is also possible to use
a tree structure, but the message delays will get longer. To get the best
possible connections available, it's highly recommended that AXnets are also
connected to Internet via UUCP.
Creating a new network is quite easy. For one thing you have to decide who's
going to be the hub. Then you have to agree about passwords and machine
names of each node. The hub system then creates accounts for the other
machines, and depending on the installation gives them system privileges.
All nodes has to update /usr/spool/mail/routetable. Routetable contains
information about nodes attached in the network and tells where to forward a
message, if the receiver's machine is not the same as sender's.
One more thing: if you're using network cababilities of AXsh, put lha packer
to your C: directory! This may become configurable in the future versions.
*****************************************************************************
3.4 Connecting to Internet
Use UUCP. AXsh mail and news programs should be configurable enough to
co-exist peacefully with the UUCP system. However, if you have problems,
don't hesitate to contact me (see the E-mail addresses in the end of this
document). We also have a NNTP news importer available.
Since 1.3 you should also be able to use AXsh Rn to read CNews news.
However, to mix AXsh successfully with either UUCP or CNews (or any other
news system) you have to configure the news and mail systems appropriately
and you MUST define an external postnews command.
*****************************************************************************
3.5 UUCP - Using AXsh for remote login with UUCP (1.16D)
The /etc directory contains files UUCP-startup2.0 and UUCP-passwd-entry,
which may help you. With UUCP you cannot use newshell to launch AXsh like
the AX-server does, because newshell returns straight away and getty will
assume that it can use the serial again.
UUCP-startup should have in ks 2.0:
AXsh <>axaux:serial.device/0/shared/checkcd -log
or in ks1.3:
AXsh <axaux:serial.device/0/shared/checkcd >axaux: -log
A getty-entry cannot use redirections, so you must have the above in a script
file, which you then execute from the getty-entry:
bbs,*,444,0,(BBS-login),ram:,execute AXsh:etc/UUCP-startup
With UUCP you should also do some changes to /etc/rc.news (and /etc/rc.mail).
If you are having unexpected gurus or other weird things happen, you might
try to cure it by putting a stack command in the startup file before the AXsh
is launched. All the programs in the AXsh distribution usually run with the
default 4k stack, but external programs may consume more stack:
stack 30000
AXsh <>axaux:serial.device/0/shared/checkcd -log
*****************************************************************************
3.6 AXnet mail
When a user sends mail, it is usually stored in the AXsh:usr/spool/mail
directory (this can be changed by modifying /etc/rc) with the same name as
the user's login name. If the message is going to a remote system, it is
stored in the same directory as all the other mail, and its name is the same
as the remote system's (login) name. When a new mail message arrives, the
datestamp of the system mailbox changes and AXsh will inform the user about
new mail by saying:
New mail has arrived!
You can also use UUCP sendmail, just configure the appropriate entries in the
/etc/rc.mail-file. In that case, also set %mail: in /etc/rc to UUMAIL: or
assign UUMAIL: to the AXsh mail system directory. If you mix AXsh mail and
UUCP mail, you MUST define an external sendmail.
*****************************************************************************
3.7 AXnet news
User's newsgroup state information is stored in the home directory in the
file .rnnewsrc and the readnews preferences in the file .rnprefs. These
files are read in when the user starts rn. Rn updates these files when user
quits back to shell.
Each AXsh system should have at least one local newsgroup as a news channel
for local users about new stuff in system etc. In addition to this there is
usually several public newsgroups which are delivered through net to all
systems. If there's a system delivering messages from Internet to a local
AXnet, daily newsfeed may contain THOUSANDS of messages. Every day. That's
why it's reasonable to delete old messages by using rn tidy.
The file /usr/spool/news/NewsGroups has a number after each newsgroup name
and this defines how many days a specific message is kept in the system. All
news articles that are older than that are deleted when you run rn tidy. You
can also tell to rn what is the maximum number of articles in one group.
rn tidy -m<messages>
For example
rn tidy -m300
would delete all the messages older than the days defined in Newsgroups-file
and if there's more than 300 messages in a group, it will delete all but the
last 300. This can be automatized by using cron.
If you use CNews or plain UUCP, you should use its own expire-mechanism
instead of rn tidy. The new rn will find out if the .lowest files are not
upto date and will do a quick 'binary search' scan to find the article with
the lowest number. Because of this rn startup may take slightly longer,
especially if the .lowest files are not upto date.
You can also send binary files between systems with:
rn net <host> send <filename>
However, this is only possible in an AXsh net. However, you still may use
other tranport mechanisms than the "net" program. You should also notice that
the host must exist and be directly reachable. There will be NO error
messages if you make a mistake, the file will be appended to a file in
the news directory and it will never be sent anywhere. So, be careful when
you send files and check the news directory periodically.
There also is an NNTP news importer available, if you have an account in
a suitable U*ix system.
*****************************************************************************
4.0 Registering stuff
This section is very important. When you receive the AXsh package and have
installed it correctly and DO want new versions of AXsh, PLEASE tell us that
you exist. Send some mail to us. It guarantees that you are on our lists.
You also should send us the small registering fee/donation (US$ 30, 150 FIM,
in any currency), because we will then send the sources and some additional
programs and manual pages.
Please, DON'T send cheques, because it costs me about 60 FIM to cash them.
And 60 FIM is 40% of the original 150 FIM cheque ! It sure costs less to
exchange currency and I don't even have to do that, if you send FIM or US$.
If your bank does direct international money transfers for less, you can
also send the money directly to my account:
Pasi Ojala
Finland - TSOP Kyröskoski 506326-559792
And remember:
Even the AXshDemo package is shareware and should only be used for evaluation.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The bug report form is needed, if you find a bug or an unpleasant feature
from AXsh. AXsh is not bug free, but it's quite well behaving program at the
moment. You can also send reports and suggestions without the form. In fact
the form is only needed if you use conventional snail-mail. We prefer E-mail,
but conventional mail can also be used if you don't have Internet access
(or you don't know how to use Fidonet-Internet-gateway).
If you have developed an application for AXsh, let us know about it by
filling the Application report form and sending it to us.
You can send all the forms via Internet to
po87553@cs.tut.fi OR albert@cc.tut.fi
or use conventional mail:
Pasi Ojala
Telkontie 50
39230 Osara
FINLAND
*****************************************************************************
4.1 Registering form
Name of the system administrator:
_____________________________________________________________________
Name of the system:
_____________________________________________________________________
System's phone number, highest baud rate and working hours:
_____________________________________________________________________
Network address:
_____________________________________________________________________
Administrator's full address:
_____________________________________________________________________
Administrator's phone number:
_____________________________________________________________________
Current version of AXsh:
_____________________________________________________________________
*****************************************************************************
4.2 Bug report form
Name of the system administrator:
_____________________________________________________________________
System's phone number, highest baud rate and working hours:
_____________________________________________________________________
Network address:
_____________________________________________________________________
Administrator's full address:
_____________________________________________________________________
Administrator's phone number:
_____________________________________________________________________
Current version of AXsh:
_____________________________________________________________________
Description of the bug/feature:
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
*****************************************************************************
4.3 New application report form
Name of the author:
_____________________________________________________________________
Author's full address:
_____________________________________________________________________
Author's phone number:
_____________________________________________________________________
Application name and current version:
_____________________________________________________________________
Description of the application:
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
_____________________________________________________________________
*****************************************************************************
4.4 Author
Pasi 'Albert' Ojala po87553@cs.tut.fi OR albert@cc.tut.fi
The translators:
Cedric Beust <Cedric.Beust@sophia.inria.fr> French translation
Soeren Berg Hansen <siera@imada.ou.dk> Danish translation
Sebastian Delmont <sdelmont@dino.conicit.ve> Spanish translation
Morgan Ericsson <morgan@krynn.augs.se> Swedish translation
The idea originally by:
Juha 'Comm' Tuominen
*****************************************************************************
4.5 Copyright notices
Unix is a registered trademark of AT&T
Amiga is a registered trademark of Commodore Business Machines, Inc.
AmigaOS is a registered trademark of Commodore Business Machines, Inc.
AXsh and Digital Design are not registered trademarks, but using them without
permission is bad for your teeth.